// 自动生成模板UmsMember
package biz

import (
	"time"

	"github.com/go-kratos/kratos/v2/log"
)

// umsMember表 结构体  UmsMember
type UmsMember struct {
	Id          *int       `json:"id" form:"id" gorm:"primarykey;comment:id;column:id;size:19;"`                 //id
	LevelId     *int       `json:"levelId" form:"levelId" gorm:"comment:会员等级id;column:level_id;size:19;"`        //会员等级id
	Username    *string    `json:"username" form:"username" gorm:"comment:用户名;column:username;"`                 //用户名
	Password    *string    `json:"password" form:"password" gorm:"comment:密码;column:password;size:64;"`          //密码
	Nickname    *string    `json:"nickname" form:"nickname" gorm:"comment:昵称;column:nickname;size:64;"`          //昵称
	Mobile      *string    `json:"mobile" form:"mobile" gorm:"comment:手机号码;column:mobile;size:20;"`              //手机号码
	Email       *string    `json:"email" form:"email" gorm:"comment:邮箱;column:email;size:64;"`                   //邮箱
	Header      *string    `json:"header" form:"header" gorm:"comment:头像;column:header;size:500;"`               //头像
	Gender      *bool      `json:"gender" form:"gender" gorm:"comment:性别;column:gender;"`                        //性别
	Birth       *time.Time `json:"birth" form:"birth" gorm:"comment:生日;column:birth;"`                           //生日
	City        *string    `json:"city" form:"city" gorm:"comment:所在城市;column:city;size:500;"`                   //所在城市
	Job         *string    `json:"job" form:"job" gorm:"comment:职业;column:job;size:255;"`                        //职业
	Sign        *string    `json:"sign" form:"sign" gorm:"comment:个性签名;column:sign;size:255;"`                   //个性签名
	SourceType  *bool      `json:"sourceType" form:"sourceType" gorm:"comment:用户来源;column:source_type;"`         //用户来源
	Integration *int       `json:"integration" form:"integration" gorm:"comment:积分;column:integration;size:10;"` //积分
	Growth      *int       `json:"growth" form:"growth" gorm:"comment:成长值;column:growth;size:10;"`               //成长值
	Status      *bool      `json:"status" form:"status" gorm:"comment:启用状态;column:status;"`                      //启用状态
	CreateTime  *time.Time `json:"createTime" form:"createTime" gorm:"comment:注册时间;column:create_time;"`         //注册时间
}

// TableName umsMember表 UmsMember自定义表名 ums_member
func (UmsMember) TableName() string {
	return "ums_member"
}

type UmsMemberRepo interface {
}

type UmsMemberUsecase struct {
	repo UmsMemberRepo
	log  *log.Helper
}

func NewUmsMemberUsecase(repo GreeterRepo, logger log.Logger) *UmsMemberUsecase {
	return &UmsMemberUsecase{repo: repo, log: log.NewHelper(logger)}
}
